The response
object is an instance of the Servlet API's HttpServletResponse class
class BookController {
def downloadFile = {
byte[] bytes = // read bytes
response.outputStream << bytes
}
}
The Servlet API's HttpServletResponse
class can be used within Grails to perform all typical activities such as writing out binary data, writing directly to the response and sending error response codes to name but a few. Refer to the documentation on the HttpServletResponse class in the Servlet API for more information.
Grails also overrides the left shift operator on the response
object making it easier to write to the response writer:
response << "Hello World"